﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;

namespace Utility
{
    public static class MessageSend
    {
        /// <summary>
        /// 向手机发送短信
        /// </summary>
        /// <param name="msgContent"></param>
        /// <param name="destListPhones"></param>
        /// <returns></returns>
        public static bool SendMobileMsg(string msgContent, List<string> destListPhones)
        {
            try
            {
                bool result = false;
                string strPhones = string.Join(";", destListPhones.ToArray());
                strPhones += ";";
                var encoding = System.Text.Encoding.GetEncoding("GB2312");

                //
                string postData = string.Format("uid=kerry223&pwd=kerry19880223&mobile={0};&msg={1}&dtime=", strPhones, msgContent);

                byte[] data = encoding.GetBytes(postData);
                // 定义 WebRequest    
                HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://www.smsadmin.cn/smsmarketing/wwwroot/api/post_send/");
                myRequest.Method = "POST";
                myRequest.ContentType = "application/x-www-form-urlencoded";
                myRequest.ContentLength = data.Length;
                Stream newStream = myRequest.GetRequestStream();
                //发送数据     
                newStream.Write(data, 0, data.Length);
                newStream.Close();
                // 得到 Response   
                HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
                StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.Default);
                string content = reader.ReadToEnd();
                if (content.Substring(0, 1) == "0")
                {
                    result = true;
                }
                else
                {
                    if (content.Substring(0, 1) == "2") //余额不足       
                    {
                        //"手机短信余额不足";            
                        //TODO   
                    }
                    else
                    {
                        //短信发送失败的其他原因，请参看官方API          
                    }
                    result = false;
                }
            }
            catch
            {
                return false;
            }
            return true;
        }

    }
}
